package campus.service;

import campus.model.Subjects;
import campus.model.SubjectsExample;
import campus.util.PageResult;

import java.util.List;

/**
 * @author VULCAN
 * @create 2020-05-08 20:14
 * @desc 科目接口
 **/
public interface SubjectsService {

    /**
      * @name  列表
     * @Author VULCAN
     * @Date 2020/5/8 20:28
     */
    List<Subjects> selectByExample(SubjectsExample example);

    /**
      * @name  主键id
     * @Author VULCAN
     * @Date 2020/5/8 20:28
     */
    Subjects selectByPrimaryKey(Integer kmId);

    /**
      * @name  科目新增
     * @Author VULCAN
     * @Date 2020/5/8 20:28
     */
    int insert(Subjects record);

    /**
      * @name  科目编辑
     * @Author VULCAN
     * @Date 2020/5/8 20:27
     */
    int updateByPrimaryKeySelective(Subjects record);

    /**
      * @name  期初金额
     * @Author VULCAN
     * @Date 2020/5/9 21:44
     */
    int updateByPrimaryKeyBeginning(Subjects record) ;

    /**
      * @name  期初数量
     * @Author VULCAN
     * @Date 2020/5/9 21:44
     */
    int updateByPrimaryKeyNumber(Subjects record) ;

    /**
     * @name  成本余额
     * @Author VULCAN
     * @Date 2020/5/9 21:44
     */
    int updateByPrimaryKeyCost(Subjects record) ;

    /**
      * @name  负债余额
     * @Author VULCAN
     * @Date 2020/5/10 1:39
     */
    int updateByPrimaryKeyLiabilities(Subjects record) ;

    /**
      * @name  科目主键id删除
     * @Author VULCAN
     * @Date 2020/5/8 20:27
     */
    int deleteByPrimaryKey(Integer kmId);

    /**
      * @name  科目分页
     * @Author VULCAN
     * @Date 2020/5/8 20:27
     */
    PageResult findByAllPageSize(Subjects record, int pageNum, int pageSize);

    /**
     * @name 资产
     * @Author VULCAN
     * @Date 2020/5/9 0:28
     */
    List<Subjects> findByCoding1(String kmCoding);
    /**
     * @name 负债
     * @Author VULCAN
     * @Date 2020/5/9 0:28
     */
    List<Subjects> findByCoding2(String kmCoding);
    /**
     * @name 权益
     * @Author VULCAN
     * @Date 2020/5/9 0:28
     */
    List<Subjects> findByCoding3(String kmCoding);
    /**
     * @name 成本
     * @Author VULCAN
     * @Date 2020/5/9 0:28
     */
    List<Subjects> findByCoding4(String kmCoding);
    /**
     * @name 损益
     * @Author VULCAN
     * @Date 2020/5/9 0:28
     */
    List<Subjects> findByCoding5(String kmCoding);

    void updateXjll();
}
